Listen music with emms in Emacs
Emacs 再一次展现了其强大的功能,播放音乐不在话下。
有一个网易云音乐的插件可以使用,但是作者估计是不使用了,有很长时间没有更新。网易云音乐本身的 API 有所变更,导致该插件不可以使用,很是遗汗。
只好另找方法管理音乐。当前我使用 Telegram 中的 bot 查找音乐,然后使用 Emms 听音乐。
Emms 的配置如下,使用了三个插件,emms lyrics-fetcher 和 consult-emms.
(use-package emms :bind (("<f5>" . emms) ("C-<f5>" . my/toggle-emms)) :config (setq emms-directory (expand-file-name "cache/emms" user-emacs-directory)) (setq emms-player-list '(emms-player-mpv)) (setq emms-browser-covers #'emms-browser-cache-thumbnail-async) (setq emms-playlist-buffer-name "*Music*") (add-to-list 'display-buffer-alist '((or (derived-mode . emms-playlist-mode) (derived-mode . emms-browser-mode)) (display-buffer-in-tab) (tab-name "Media") (tab-group "Media"))) (defun my/toggle-emms (arg) "Toggle Emms playback: start if stopped, stop if playing. With universal argument (C-u), pause playback instead of stopping." (interactive "P") (if emms-player-playing-p (if arg (emms-stop) (emms-pause)) (emms-start)))) (use-package emms-playlist-mode :after emms :config (setq emms-playlist-mode-center-when-go t)) (use-package emms-source-file :after emms :config (setq emms-source-playlist-default-format 'native) (setq emms-source-playlist-ask-before-overwrite nil) (setq emms-source-file-default-directory (expand-file-name "~/Music/"))) (use-package emms-history :hook ((emms-browser-show-display . emms-history-load) (emms-browser-hide-display . emms-history-save))) (use-package emms-setup :after emms :config (emms-all)) (use-package emms-browser :after emms :config (setq emms-browser-thumbnail-small-size 64) (setq emms-browser-thumbnail-medium-size 128) (evil-define-key 'normal emms-browser-mode-map "gb" nil)) (use-package emms-lyrics :hook (emms-player-started-hook . emms-lyrics-toggle-display-on-modeline))
(use-package lyrics-fetcher :after (emms) :config (setq lyrics-fetcher-genius-access-token (auth-source-pick-first-password :host "genius.com" :user "ID")) (lyrics-fetcher-use-backend 'neteasecloud))
(use-package consult-emms :bind ("M-<f5>" . consult-emms-library))
1. 使用基本流程如下:
f5
调用 emms ,回车即可。 会默认打开 "Music" 这个 buffer。- 移动光标到欲播放的音乐上按
RET
,开始播放音乐。 - Music buffer 是一个播放列表,可以通过
M-f5
增加歌曲到该列表中。 - 在 Music 中可以使用
C-x C-s
保存播放列表到指定的文件当中。 再次启动时可默认加载该文件。 C-f5
开始播放或暂停音乐,C-u C-f5
可停止播放音乐。